Most current computer system designs utilize the concept of a service processor. The service processor is typically used to handle various "power-on" type functions, such as test, scan utilization, starting clocks, etc. Once the computer is "booted up" and begins to run, there are usually control or status registers that the system needs to set or interrogate. Also, as the topology of systems becomes more distributed, it becomes critical to access certain instrumented performance facilities or internal workload traces in order to maintain workload balancing across the entire system or to gather sequential snapshots of machines' states in real time. It is also critical that the accessing and usage of this performance monitoring data be non-invasive to normal workload processing.
Accordingly, there is a need for an enhanced method and apparatus which is effective to provide a service processor with access to a number of registers internal to a chip while system clocks are running and without imposing any restriction that the registers be connected in a unique scan string or common clock boundary.